/**
 * 请求拦截
 * @param {Object} http
 */
// vuex 数据
import store from '@/store/index';
module.exports = (vm) => {
	uni.$u.http.interceptors.request.use((config) => { // 可使用async await 做异步操作
		// 初始化请求拦截器时，会执行此方法，此时data为undefined，赋予默认{}
		config.data = config.data || {};
		//	有 token 才带上
		if (uni.$u.getProperty(store.getters, 'user/token')) {
			config.header.Authorization = 'Bearer ' + uni.$u.getProperty(store.getters, 'user/token');
		}
		let loadingTitle = '';
		// 上传文件时，name默认为file
		if (config.method === 'UPLOAD' && !config.name) {
			config.name = 'file';
			loadingTitle = '上传中';
		}
		// 配置了 loading
		if (config.custom.loading) {
			uni.showLoading({
				title: loadingTitle
			});
		}
		return config;
	}, (config) => // 可使用async await 做异步操作
		Promise.reject(config));
};
